312 research outputs found

    Translating alloy apecifications to UML class diagrams annotated with OCL

    Get PDF
    Proceedings of the 9th International Conference on Software Engineering and Formal MethodsModel-Driven Engineering (MDE) is a Software Engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming models from abstract (specifications) to more concrete ones (code). Alloy is an increasingly popular lightweight formal specification language that supports automatic verification. Unfortunately, its widespread industrial adoption is hampered by the lack of an ecosystem of MDE tools, namely code generators. This paper presents a model transformation between Alloy and UML Class Diagrams annotated with OCL. The proposed transformation enables current UML-based tools to also be applied to Alloy specifications, thus unleashing its potential for MDE

    A language for behavioural modelling of architectural patterns

    Get PDF
    The complexity of interactions governing the coordination of loosely-coupled services, which forms the core of current software, brought behavioural issues up to the front of architectural concerns. This paper takes such a challenge seriously by lifting typical behaviour modelling techniques to the specification of both types and instances of architectural patterns in which the later ones are connected by ports that behave according to a water flow metaphor. A specific language is introduced for this purpose as well as a translator to mCRL2 so that the simulation and analysis techniques available in the corresponding toolset can be used to reason about (the behavioural layer of) software architectures. The approach is illustrated in a few examples(undefined

    Verifying bigraphical models of architectural reconfigurations

    Get PDF
    ARCHERY is an architectural description language for modelling and reasoning about distributed, heterogeneous and dynamically reconfigurable systems. This paper proposes a structural semantics for ARCHERY, and a method for deriving labelled transition systems (LTS) in which states and transitions represent configurations and reconfiguration operations, respectively. Architectures are modelled by bigraphs and their dynamics by parametric reaction rules. The resulting LTSs can be regarded as Kripke frames, appropriate for verifying reconfiguration constraints over architectural patterns expressed in a modal logic. The derivation method proposed here applies Leifer's approach twice, and combines the results of each application to obtain a label representing a reconfiguration operation and its actual parameters. Labels obtained in this way are minimal and yield LTSs in which bisimulation is a congruence.FC

    Specifying UML protocol state machines in Alloy

    Get PDF
    A UML Protocol State Machine (PSM) is a behavioral diagram for the specification of the external behavior of a class, interface or component. PSMs have been used in the software development process for different purposes, such as requirements analysis and testing. However, like other UML diagrams, they are often difficult to validate and verify, specially when combined with other artifacts, such as Object Constraint Language (OCL) specifications. This drawback can be overcome by application of an off-the-shelf formal method, namely one supporting automatic validation and verification. Among those, we have the increasingly popular Alloy, based on a simple relational flavor of first-order logic. This paper presents a model transformation from PSMs, optionally complemented with OCL specifications, to Alloy. Not only it enables automatic verification and validation of PSMs, but also a smooth integration of Alloy in current software development practices.Fundação para a Ciência e a Tecnologi

    Analysing tactics in architectural patterns

    Get PDF
    We present an approach to analyse the application of tactics in architectural patterns. We define and illustrate the approach by resorting to Archery, a language for specifying, analysing and verifying architectural patterns. The approach consists of characterising the design principles of an architectural pattern as constraints, expressed in the language, and then, establishing a refinement relation based on their satisfaction. The application of tactics preserving refinement preserves the original design principles expressed themselves as constraints for the architectural pattern. The paper’s focus on fault-tolerance tactics, and identifies a set of requirements for a semantic framework characterising them. Model transformations to represent their application are discussed and illustrated through two case studies.FC

    Using business process reengineering to obtain a RAISE specification

    Get PDF
    We have proposed a technique which can be employed within the methodology known as business process reengineering. This technique has been applied in a government project, which included an Information System and Geographical Information System, developed with financial support from The World Bank. One model used in process reengineering is the process model diagram, which helps to find the tasks, to be completed in each area of the organisation. To understand the domain is crucial to be able to specify each one of these tasks. We show in this work how to use process modelling to find the tasks and to formalise their description using RAISE formal method. In this way, using a model of process as input, an engineer employs a systematic technique to create-as a starting point-the main functions (tasks) of the domain using the RAISE formal method. Furthermore, we show how a structured architecture in layers can be used for reuse during the development in the large.Facultad de Informátic

    Defining the proxy design pattern using UML profile

    Get PDF
    Today software solutions are often modeled using UML. Design patterns are frequently instantiated within these particular solutions. However, in several situations, UML is not expressive enough to describe them properly. UML profiles extend UML syntax and semantic in order to model elements of particular domains. As profiles extend UML vocabulary; design patterns define a common vocabulary for software designers. Because of this, it is possible to use a profile to define a design pattern’s vocabulary in UML. Profiles can be used to solve particular problems in different domains. This work shows a way in which profiles can be used to define design patterns. The definition of the proxy design pattern is shown as an example of our proposal.III Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    A managerial framework for an electronic government procurement project: complex software projects management fundamentals

    Get PDF
    An Electronic Government Procurement (e-GP) project, as most of complex software systems development and implantation, requires sophisticated and strong managerial concepts and skills. So, an effective and consistent managerial framework is needed. Traditional project management models, that propose a series of good practices and tools, must be extended, modified and improved to face, as an example, Electronic Government (e-Government) applications. These additional capabilities are very important in the environment of e-GP projects. This paper describes a specific managerial framework adopted to face an e-GP project, at an argentine province level, with Inter American Development Bank supervision and finance support. The proposal includes a scheme where Software Engineering Institute's (SEI) Capability Maturity Model Integration (CMMI) is complemented with Project Management Institute (PMI) points of view included at Project Management Body of Knowledge 3rd Edition (PMBOK) This paper could be useful for software engineers oriented to e-GP applications development and implantation, others e-Government applications and also, in general terms, in the field of complex e-Business projects.II Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    UML Profile for Mining Process: Supporting Modeling and Simulation Based on Metamodels of Activity Diagram

    Get PDF
    An UML profile describes lightweight extension mechanism to the UML by defining custom stereotypes, tagged values, and constraints. They are used to adapt UML metamodel to different platforms and domains. In this paper we present an UML profile for models supporting event driving simulation. In particular, we use the Arena simulation tool and we focus on the mining process domain. Profiles provide an easy way to obtain well-defined specifications, regulated by the Object Management Group (OMG). They can be used as a presimulation technique to obtain solid models for the mining industry. In this work we present a new profile to extend the UML metamodel; in particular we focus on the activity diagram. This extended model is applied to an industry problem involving loading and transportation of minerals in the field of mining process.Fil: Giubergia, Andrea. Universidad Nacional de San Luis. Facultad de Ciencias Fisico- Matematicas y Naturales; ArgentinaFil: Riesco, Daniel. Universidad Nacional de San Luis. Facultad de Ciencias Fisico Matematicas y Naturales. Departamento de Informatica; ArgentinaFil: Gil Costa, Graciela Verónica. Universidad Nacional de San Luis. Facultad de Ciencias Físico Matemáticas y Naturales. Departamento de Informática. Laboratorio Investigación y Desarrollo En Inteligencia Computacional; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico San Luis; ArgentinaFil: Printista, Alicia Marcela. Universidad Nacional de San Luis. Facultad de Ciencias Físico Matemáticas y Naturales. Departamento de Informática. Laboratorio Investigación y Desarrollo En Inteligencia Computacional; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico San Luis; Argentin

    Software projects effort estimation using “use case points” method in the context of Project Management Body of Knowledge

    Get PDF
    As a contribution to consider software projects to be risk investments, it is important the full standardization of either the planning methodology (as a subset of project management methodology) and the effort estimation method. We think there is important and abundant evidence backing the convenience of the join use of Project Management Body of Knowledge and “Use case points” method in software project planning and control. Software development teams should share information, as it is important to compare the “ex post” analysis of programming/budgeting estimations against project execution data with “real world” software projects. This comparative activity would include teams into a permanent improvement process.IV Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI
    corecore